class_name BuffComponent
extends BaseComponent

#region 属性
#endregion
#region 字段
#endregion
#region 信号
#endregion

#region 基类方法
func init_component(args:Dictionary = {}):
	super(args)
#endregion
#region 公共方法
func start_observering(listener:Callable) -> Array[BaseBuff]:
	return GameBuffSystem.start_observering(self.entity,listener)
func stop_observing(listener:Callable):
	GameBuffSystem.stop_observing(self.entity,listener)
func add_buff_by_id(provider,buff_id:String,level:int = 1):
	GameBuffSystem.add_buff_by_id(provider,self.entity,buff_id,level)
func remove_buff_by_id(buff_id:String):
	GameBuffSystem.remove_buff_by_id(self.entity,buff_id)
func remove_buff_by_type(buff_type:GameEnum.BuffType):
	GameBuffSystem.remove_buff_by_type(self.entity,buff_type)
func remove_buff_by_tag(buff_tag:String):
	GameBuffSystem.remove_buff_by_tag(self.entity,buff_tag)
func remove_buff_by_group(buff_group:GameEnum.BuffGroup):
	GameBuffSystem.remove_buff_by_group(self.entity,buff_group)
func remove_all_buff():
	GameBuffSystem.remove_all_buff(self.entity)
#endregion
#region 私有方法
#endregion
#region 生命周期函数
#endregion
